From eb221ff305ad9c4288425f959683fbbcd8b4226c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Sat, 9 Dec 2017 18:31:28 +0100 Subject: [PATCH] gl renderer: Only take glyph texture alpha into account This way, we can use the very same coloring program to draw text shadows of fonts with colored glyphs. --- gsk/resources/glsl/coloring.fs.glsl | 5 +++-- gsk/resources/glsl/shadow.fs.glsl | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gsk/resources/glsl/coloring.fs.glsl b/gsk/resources/glsl/coloring.fs.glsl index 120c13cd6c..9faab8c45b 100644 --- a/gsk/resources/glsl/coloring.fs.glsl +++ b/gsk/resources/glsl/coloring.fs.glsl @@ -1,4 +1,3 @@ - uniform vec4 u_color; void main() { @@ -8,5 +7,7 @@ void main() { // pre-multiply color.rgb *= color.a; - setOutputColor((diffuse * color) * u_alpha); + color = vec4(u_color.rgb * diffuse.a * u_alpha, diffuse.a * color.a * u_alpha); + + setOutputColor(color); } diff --git a/gsk/resources/glsl/shadow.fs.glsl b/gsk/resources/glsl/shadow.fs.glsl index f3535f1361..9faab8c45b 100644 --- a/gsk/resources/glsl/shadow.fs.glsl +++ b/gsk/resources/glsl/shadow.fs.glsl @@ -7,7 +7,7 @@ void main() { // pre-multiply color.rgb *= color.a; - color = vec4(u_color.rgb * diffuse.a, diffuse.a * color.a); + color = vec4(u_color.rgb * diffuse.a * u_alpha, diffuse.a * color.a * u_alpha); setOutputColor(color); } -- 2.30.2